#define _CRT_SECURE_NO_WARNINGS 1
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'
const int N = 2e5 + 10;
int q[N];

void solve() {
	ll n, x, a, b; cin >> n >> x >> a >> b;
	for (int i = 1; i <= n; i++) cin >> q[i];
	int f = 0;
	for (int i = 1; i <= n; i++) {
		x -= min((q[i] - q[i - 1]) * a, b);
		if (x <= 0) {
			f = 1;
			break;
		}
	}
	if (f) cout << "NO" << endl;
	else cout << "YES" << endl;
}

int main() {
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	int t; cin >> t;
	while (t--) {
		solve();
	}
	return 0;
}